package cn.j229.bug.zhongxuan.mapper;


import cn.j229.bug.zhongxuan.pojo.SysUser;

import java.util.List;
import java.util.Map;

public interface SysUserMapper {

    /**
     * 通过id查询目标系统用户的方法
     * @param id 目标用户的编号
     * @return 目标用户对象
     */
    public SysUser findById(Integer id);
    public List<Map<String,Object>> findById2(Integer id);

//    开发中,常常会在查询中添加条件(完全匹配/模糊查询)->分页
    // 匹配条件的时候,可以同时满足多个/只满足一个条件:  工号/姓名/手机号 实现查询
    // mybatis需要满足不确定性: 多个? 1个?
    // id + jobNumber
    // sysUser.setId(1)  sysUser.setJobNumber("")
    public List<SysUser> findAll(SysUser sysUser);


    /**
     *
     * @param page
     * @param limit
     * @return 返回符合条件的SysUser集合
     */
    List<SysUser> findAllByPage(int page, int limit);


    /**
     * 模糊查询的方法
     * @param patten 模糊查询的条件
     * @return 返回符合条件的SysUser集合
     */
    List<SysUser> findAllByLike(String patten);

    /**
     * 批量删除数据的方法
     * @param list 要批量删除的目标用户的id集合
     */
    void deleteBatch(List<Integer> list);


    /**
     * 修改目标用户的特征
     * @param sysUser 目标用户
     */
    void update(SysUser sysUser);

    /**
     * 添加系统用户的方法
     * @return 影响的行数
     */
    Integer save(SysUser sysUser);


    SysUser findByJobNumberAndPassword(String jobNumber,String password);
}
